package com.xingkeduo.service;

import com.xingkeduo.model.dto.*;
import com.xingkeduo.model.vo.OrderInfoVo;
import com.xingkeduo.model.vo.ShopInfoVo;
import com.xingkeduo.model.vo.ShopVo;
import com.xingkeduo.model.vo.StaffInfoVo;

import java.util.List;
import java.util.Map;

/**
 * @Description TODO
 * @Date 2019/5/10 17:17
 * @Created 情绪十分不稳定的Shadow
 */
public interface OtherService {

    /** businessuser 系统 start **/

    /** 根据发型师id 批量获取发型师信息**/
    List<StaffInfoVo> getStaffInfoVo(List<Long> staffIdList);

    /** 定时任务根据List<店铺Id>获取 店铺下签约发型师 **/
    List<ShopIdAndStaffInfoDto> getStaffTimingTaskDto(List<Long> shopIds);

    /** 根据店铺Id 发型师Id集合 查询 发型师对应sku & 价格 **/

    ShopAndStaffListDto getCraftsmanServiceList(String shopId, List<Long> craftsmanIds);

    /** 根据发型师Id集合 获取发型师对应服务类型 **/
    List<StaffIdAndServiceIdDto> getStaffIdAndServiceIds(List<Long> staffIdList);

    /**根据店铺ID和分公司ID获取店铺经理和总经理信息**/
   CmsCraftsmanShopDTO getManagerList(Long companyId , Long shopId);
    /**根据发型师ID、姓名、匿名查询发型师信息**/
    List<Long> getCmsCraftsmanList(String condition);

    /** businessuser 系统 end **/


    /** operation 系统 start **/

    /** 根据店铺id获取 店铺信息 **/
    ShopInfoVo getShopInfoByShopId(Long storeId);

    /** 根据店铺状态获取 店铺Id列表 **/
    List<ShopVo> getShopByStatus(Long statusShop);

    /** 获取门店各sku最低价 **/
    List<ShopSkuAppInfoDto> getStoreSkuInfoListByStoreId(Long storeId);

    /** 获取门店各 sku价格 **/
    List<ShopSkuInfoDto> getShopsServprodList(Long storeId);

    /**根据门店ID获取 下单屏价格**/
    ScreenPriceDto getScreenPriceInfo(Long shopId);


    /** 根据二线用户ID获取列表**/
    List<ManagerDTO> getManagerList(List<Long> ids);

    CmsShopsInfoDTO getShopInfo(Long id);


    /** operation 系统 end **/


    /** order 系统 start **/

    /** 根据订单orderNos 获取 订单信息 **/
    List<OrderInfoVo> getOrderInfoByOrderNos(String[] orderNos);

    /** order 系统 end **/

    /** business-marketing 营销系统 start **/

    /** 根据门店Id 发型师Id集合 查询发型师是否有优惠 **/
    Map<String, String> getHairdresserActivitySummaryInfo(Long storeId, List<Long> staffId);

    /**根据门店ID获取门店活动**/

    List<CmsActivityResponseDTO> getShopActivityList(Long storeId);
    /** business-marketing 营销系统 end **/


}
